package com.zh.work.entity.virtual;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.zh.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@ApiModel("虚拟账户信息实体类")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("virtual_card")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class VirtualCardEntity extends BaseEntity {
  private static final long serialVersionUID = -3474476087089081979L;
  @ApiModelProperty(value = "主键", name = "id")
  @TableId(value = "id", type = IdType.AUTO)
  private Long id;
  @ApiModelProperty(value = "虚拟账号(10位机构号+8位顺序号)", name = "cardNo")
  @TableField(value = "cardno")
  private String cardNo;
  @ApiModelProperty(value = "机构号", name = "branchno")
  @TableField(value = "branchno")
  private String branchNo;
  @ApiModelProperty(value = "商户编号", name = "merchNo")
  @TableField(value = "merchno")
  private String merchNo;
  @ApiModelProperty(value = "有效期", name = "validDate")
  private String validDate;
  @ApiModelProperty(value = "业务类别(1-传统POS 2-手机APP 4-二维码扫码 8-网关支付)", name = "bizType")
  private Integer bizType;
  @ApiModelProperty(value = "账户状态(1-正常 2-已冻结 3-已销户)", name = "status")
  private Integer status;
  @ApiModelProperty(value = "费率类别代码", name = "rateCode")
  private String rateCode;
  @ApiModelProperty(value = "账户密码", name = "password")
  private String password;
  @ApiModelProperty(value = "总资金", name = "availAmount")
  private Float availAmount;
  @ApiModelProperty(value = "在途资金", name = "transitAmount")
  private Float transitAmount;
  @ApiModelProperty(value = "结算账户", name = "accountNo")
  @TableField("accountno")
  private String accountNo;
  @ApiModelProperty(value = "账户户名", name = "accountName")
  private String accountName;
  @ApiModelProperty(value = "开户行行号", name = "bankno")
  @TableField(value = "bankno")
  private String bankNo;
  @ApiModelProperty(value = "银行名称", name = "bankName")
  private String bankName;
  @ApiModelProperty(value = "创建时间", name = "addTime")
  private String addTime;
  @ApiModelProperty(value = "上次冻结时间", name = "frozenTime")
  private String frozenTime;
  @ApiModelProperty(value = "代付类型：1-T+0 2-T+1", name = "payType")
  private Long payType;
  @ApiModelProperty(value = "垫资费率编码", name = "dzRateCode")
  private String dzRateCode;
  @ApiModelProperty(value = "1-余额代付 2-垫资代付", name = "payMode")
  private Integer payMode;
  @ApiModelProperty(value = "冻结金额", name = "freezing_amount")
  private Float freezingAmount;
  @ApiModelProperty(value = "渠道商户编号", name = "channelMerchNo")
  @TableField(exist = false)
  private String channelMerchNo;
  @ApiModelProperty(value = "未结算金额", name = "tasapaino_amount")
  @TableField(exist = false)
  private Float tasapainoAmount;
  @ApiModelProperty(value = "充值金", name = "amount")
  @TableField(exist = false)
  private Float amount;
  @ApiModelProperty(value = "备注", name = "remark")
  @TableField(exist = false)
  private String remark;


}
